package com.spider.demo3udp2;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPServerDemo2 {
    public static void main(String[] args) throws Exception {
        System.out.println("========服务器启动了=======");
        //目标：完成UDP通信多发多收，服务器端
        //1.创建接收端对象，注册端口。
        DatagramSocket socket = new DatagramSocket(8080);
        //2.创建一个数据包对象负责接收数据。
        byte[] buf = new byte[1024*64];
        DatagramPacket packet = new DatagramPacket(buf, buf.length);

        while (true) {
            //3.接收数据
            socket.receive(packet);

            //4.看看数据包里面有什么
            String data = new String(buf);
            //获取当前收到的数据长度
            int length = packet.getLength();
            //获取当前数据包发送端的地址和端口
            String ip = packet.getAddress().getHostAddress();
            int port = packet.getPort();
            System.out.println("收到数据来自："+ip+":"+port);
            System.out.println("收到数据长度："+length);
            System.out.println("收到的数据内容："+data);

            System.out.println("---------------------------------------");

        }
    }
}
